#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<math.h>
int divhash(int k,int m)
{
	return k%m;
}

int mulhash(int k,int m)
{
	float a=0.6180;
	a*=(float)k;
	a=a-(float)((int)a);
	a*=(float)m;
	return (int)a;
}

int univhash(int k,int a,int b,int m,int p)
{
	int h;
	h=((a*k+b)%p)%m;
	return h;
}

int uhstring(char *s,int a,int b,int m,int p)
{
	int i,h,temp;
	i=0;
	h=0;
	int ai=1;
	while(s[i]!='\0')
	{
		temp=s[i];
		ai*=a;
		h+=((ai)*temp)%p;
		i++;
	}
	return (h+b)%m;
}


int main()
{
	int i,j,k;
	int n;
	int *a;
	char *s;
	scanf("%d",&n);
	a=(int *)malloc(n*sizeof(int));
	s=(char *)malloc(n*sizeof(char));
	scanf("%s",s);
	printf("%d \n",uhstring(s,3,6,25,10007));
	free(s);
	free(a);
	return 0;
}

